package com.lvy.hczn.front.business.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.lvy.hczn.front.business.dto.Param;
import com.lvy.hczn.front.business.dto.SearchCondition;
import com.lvy.hczn.front.system.domain.business.SaleOrder;
import com.lvy.hczn.front.system.domain.business.SaleOrderDetail;
import com.lvy.hczn.front.system.domain.business.WarehousingEntry;

import java.util.List;

public interface SaleOrderService extends IService<SaleOrder> {

    /**
     * 订单状态查询
     *
     * @param saleOrder
     * @return
     */
    List<SaleOrder> selectSaleOrderList(SaleOrder saleOrder);

    /**
     * 退货拒收列表
     *
     * @return
     */
    List<SaleOrderDetail> returnList(Param param);

    /**
     * 首页显示统计数量
     *
     * @return
     */
    List<SaleOrderDetail> returnCount(SaleOrderDetail saleOrderDetail);

    /**
     * @Description 根据状态和类型统计，根据是否大件商品分组
     * @Param
     * @Author yw
     * @Date 2024/6/28 11:15
     * @Return
     **/
    List<SaleOrderDetail> selectReturnCount(SaleOrderDetail saleOrderDetail);

    /**
     * 退货拒收入回调
     *
     * @param param
     */
    void returnCallBack(SearchCondition param);

    /**
     * 未分拣退货，更新库存到平台
     *
     * @param saleOrder
     * @return void
     * @author yw
     * @date 2023-11-09 20:46:26
     */
    void initCreditNoteWarehousingEntry(SaleOrder saleOrder, List<WarehousingEntry> list);
}
